//
//  UIImage+Extension.swift
//  text
//
//  Created by rimi on 16/10/12.
//  Copyright © 2016年 赖虹宇. All rights reserved.
//

import UIKit
extension UIImage{
    
    
    /// 重新绘制图片，设置圆角和边框
    ///
    /// - parameter size: 绘制尺寸
    /// - parameter bgColor: 背景色
    ///
    /// - returns: 绘制后的图片
    func reverseImage(size : CGSize , bgColor : UIColor) ->
        UIImage? {
            //准备好绘图范围
            let rect = CGRect(origin: CGPoint(), size: size)
            //创建图片上下文
            //3个参数的含义
            //上下文大小  是否透明(false透明，true不透明)  绘图比例(绘图的分辨率  给0 表示根据当前屏幕分辨率来绘制)
            UIGraphicsBeginImageContextWithOptions(size, true, 0)
            //设置背景色
            bgColor.setFill()
            UIRectFill(rect)
            
            //设置属性
            let path = UIBezierPath(ovalIn: rect)
            //设置裁剪路径后，后面所有绘制的图片都会以这个裁剪路径作为边界
            path.addClip()
            //绘制图片 类方法
            draw(in: rect)
            //设置边框
            UIColor.blue.setStroke()
            path.lineWidth = 2
            path.stroke()
            
            let newImage = UIGraphicsGetImageFromCurrentImageContext()
            //从上下文中获得新绘制的图片
            UIGraphicsEndImageContext()
            //关闭上下文--不然会造成内存泄漏
            return newImage

    }
 }
